{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Bayesian Data Analysis, 3rd ed\n",
    "## Chapter 2, demo 4\n",
    "\n",
    "Authors:\n",
    "- Aki Vehtari <aki.vehtari@aalto.fi>\n",
    "- Tuomas Sivula <tuomas.sivula@aalto.fi>\n",
    "\n",
    "Probability of a girl birth given placenta previa (BDA3 p. 37).\n",
    "Calculate the posterior distribution on a discrete grid of points by multiplying the likelihood and a non-conjugate prior at each point, and normalizing over the points. Simulate samples from the resulting non-standard posterior distribution using inverse cdf using the discrete grid."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "# Import necessary packages\n",
    "\n",
    "import numpy as np\n",
    "from scipy.stats import beta\n",
    "\n",
    "%matplotlib inline\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# add utilities directory to path\n",
    "import os, sys\n",
    "util_path = os.path.abspath(os.path.join(os.path.pardir, 'utilities_and_data'))\n",
    "if util_path not in sys.path and os.path.exists(util_path):\n",
    "    sys.path.insert(0, util_path)\n",
    "\n",
    "# import from utilities\n",
    "import plot_tools"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "# edit default plot settings\n",
    "plt.rc('font', size=12)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Calculate results"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "# data (437,543)\n",
    "a = 437\n",
    "b = 543\n",
    "\n",
    "# grid of nx points\n",
    "nx = 1000\n",
    "x = np.linspace(0, 1, nx)\n",
    "\n",
    "# compute density of non-conjugate prior in grid\n",
    "# this non-conjugate prior is same as in Figure 2.4 in the book\n",
    "pp = np.ones(nx)\n",
    "ascent = (0.385 <= x) & (x <= 0.485)\n",
    "descent = (0.485 <= x) & (x <= 0.585)\n",
    "pm = 11\n",
    "pp[ascent] = np.linspace(1, pm, np.count_nonzero(ascent))\n",
    "pp[descent] = np.linspace(pm, 1, np.count_nonzero(descent))\n",
    "# normalize the prior\n",
    "pp /= np.sum(pp)\n",
    "\n",
    "# unnormalised non-conjugate posterior in grid\n",
    "po = beta.pdf(x, a, b)*pp\n",
    "po /= np.sum(po)\n",
    "# cumulative\n",
    "pc = np.cumsum(po)\n",
    "\n",
    "# inverse-cdf sampling\n",
    "# get n uniform random numbers from [0,1]\n",
    "n = 10000\n",
    "r = np.random.rand(n)\n",
    "# map each r into corresponding grid point x:\n",
    "# [0, pc[0]) map into x[0] and [pc[i-1], pc[i]), i>0, map into x[i]\n",
    "rr = x[np.sum(pc[:,np.newaxis] < r, axis=0)]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Plot results"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nBPPG6gL2HC7nlk/0DLqUuMtMT2XKmb2Yu34fq3cdDrockVBRuCcQ5xx/eWsT3do35/yByXOd1FNx\n02k9aJmRyoNvbQy6FJFQUbgnkHc2FLJs+yHuOLcvqSnhOCL1eNq0SOf6cd355/LdbD9QGnQ5IqGh\ncE8g98/eQG7rTD4zJnxj2+sz9axepJpx/+wPgy5FJDQU7gli/qb9LNh8gM+f25tmaeEc/ngsXdo2\n56bTe/Dc4h2sLygOuhyRUFC4JwDnHL+d+SHZWRlcl9896HICcdf5fWnZLI2fv7Y26FJEQkHhngDe\nWF3AvE37+eJ5fUN70NLxtGuZwR3j+zBr7V7ma9y7yClTuAesorqGH72yhn6dsrgx5ActHc/UM3vR\nuU0m//ePVVTV1AZdjkhSU7gHbNo7W9h2oJT/+/QQ0lOb9p8jMz2VH14+lLV7inlgjoZGipyKpp0m\nAdt+oJQ/zP6QCwbncFa/7KDLSQgXDM7hU8M7c//sDXyonasiJ03hHpDqmlr+55llpKQY//fpwUGX\nk1DuuWwILZqlcvdzy6msVveMyMlQuAfkgbkbWbT1ID+6Yih57VoEXU5Cyc5qxk+vHMYH2w/xg3+u\nCrockaT0/9s71+AqzjKO/56TC7lAEkJSExAMSQOlKQQ63MYWyjhMbUdtS6sfhA9YLWgdp0yd6Rcc\nO/XeUafF0alW6zAFi9IPUAd1tEMvBgWZBGeIpkBggCBEcoOQhJzcXz/spi4hl92wObtneX4zZ3bz\nvu8+5/nvs+d/spezq+YeAEfPtrHj4GkeqZzNoxF7hJ5fPLy4mC8/UMobRy+wt/pC0OkoStKh5p5g\nzjR3smVXDfNmZfGdx+4JOp1Q89yDC7n/zgK++VYdfzvdGnQ6ipJUqLknkOaOHr6ws5r01BivP7mS\n3My0oFMKNakpMX62cRmlhdls2VVD9fkrQaekKEmDmnuCaGi7zudePUJbVx+/3ryCufl6nN0NeVnp\n7P7SKorzMnhyZ7UavKK4RM09ARz/TztP/PwwHfF+9mxZReXcvKBTSioKZ0xjz1OruSNnGpteO8qB\n441Bp6QooUem4PmV+kBMm4HBIV6tOsuOg/V8JCeD17+4krLC6UGnlbS0d/fZh2eu8tV1ZWxbX37b\n3WRNiTS+3udbzX2KOHymlRf/fJLai9f49JJivvvYPeRlpQedVtLT0z/I87//N2/WXKSsMJvvbVjM\n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\nkzQAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f235c849630>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# plot 3 subplots\n",
    "fig, axes = plt.subplots(nrows=3, ncols=1, sharex=True, figsize=(6, 8))\n",
    "# show only x-axis\n",
    "plot_tools.modify_axes.only_x(axes)\n",
    "# manually adjust spacing\n",
    "fig.subplots_adjust(hspace=0.5)\n",
    "\n",
    "# posterior with uniform prior Beta(1,1)\n",
    "axes[0].plot(x, beta.pdf(x, a+1, b+1))\n",
    "axes[0].set_title('Posterior with uniform prior')\n",
    "\n",
    "# non-conjugate prior\n",
    "axes[1].plot(x, pp)\n",
    "axes[1].set_title('Non-conjugate prior')\n",
    "\n",
    "# posterior with non-conjugate prior\n",
    "axes[2].plot(x, po)\n",
    "axes[2].set_title('Posterior with non-conjugate prior')\n",
    "\n",
    "# cosmetics\n",
    "#for ax in axes:\n",
    "#    ax.set_ylim((0, ax.get_ylim()[1]))\n",
    "\n",
    "# set custom x-limits\n",
    "axes[0].set_xlim((0.35, 0.65));"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\novTg4OCcbdu26RYsWJC8cuXK+I42a9eujRw+fPhYvV6fPX369PTS0tKArn145JFHopKSksYmJyeP\n6/U/hBdgkCUiAMCeIhOitGqMihl663YSUe/sdjvmzJkzIjExsb2srOxQRUVF7uLFi42unv/ee+8Z\nNm7cWFJeXn6wrKws8Be/+MXo5cuX15lMpgMjRoxoveeee+J7v8rPTZo0yfz9998fMZlMBxYuXGhc\nsmRJmsViEQsXLmy67bbbqubMmWOyWCwH8vLyjnY9Lzg4WF522WUNr776aud82Q0bNoRPmjSpOSEh\nwf7VV18F/+Y3v0l+7rnnykwm0/fLly+vveqqq9JbW1t7vBPvgw8+CNu3b9/R77777odPPvkk7Omn\nn44EgPXr10e89dZbETt27MgrKSk5ZDablTfeeONwAHj22WcjmpubleXl5QdNJtP3zz//fJlGo3Gu\nX7/+5MSJE1seeeSR4xaL5cCrr756vKmpSXH55ZdnLFq0yFhXV/f966+/XnTnnXcO37dvX2cYf//9\n9w333HNPZUtLy4GZM2e2dK3v/fff1z300EMJb7zxRnFVVVVuYmKideHChamn9+G77777IS8v73B/\n3o/B5tIcWSLybzaHE9+UmDBjVCR4tzSR97hzc25iflVzyEB+joxYneXxhVnlvbX7/PPPNTU1NQEv\nvPBCeUDAqUG8WbNmtfRyWqfrrruubsyYMVYAmD59emNeXl7wvHnzmgHg6quvNj3wwAMJ/an/1ltv\n7QzT999/f/WTTz4Zl5ubG3Teeee19nbu4sWL62+77bak9evXnwSAd955J2L58uW1APDcc89FLV26\ntHb69OlmALjtttvq165dG7dz507NnDlzuu33nXfeWRUTE+OIiYlx3HzzzdXvvPOOYfXq1XWbNm2K\nuPXWW6szMzPbAeDxxx8/MXHixDE2m60kICBAmkwm1dGjRwPPPffc1qlTp1p6qnfTpk36hIQE6+23\n314PABdccEHr5Zdf3vDGG2+ET5w4sRIAZsyY0TBz5kwzAISEhPxkGdSNGzcaFi1aVD9lyhQLAKxb\nt+5kREREdl5ennrkyJHtALBmzZqqmJgYR2+vnbfgiCwRIfdkM5qtDk4rIKIelZaWqhMSEto7Qmxf\nxcTEdE7YDA4OdkZFRXXOHQgJCXFaLJZ+ZZI//elPMampqWN0Ol22TqfLbmlpUdbU1Lg0UHfFFVc0\n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\n+cn19fVKAMjLy1MLISY++eSTkXFxcePOO++8kR3Hnn766YjY2NjxoaGh2Y899ljU7t27QzIyMjJ1\nOl32smUeGSiGAAAgAElEQVTLhvf0nqxevTp+9uzZqfPnz0/WaDQ56enpY7744ouQ7vrV0beVK1fG\nA8C2bdt0MTEx4//4xz/GGAyGrKioqPGvvfZa2KZNm/TJyclj9Xp99po1a2K7fj6r1SrmzJmTqtFo\ncjIzM0d/8803nfubl5aWBsyaNSstPDw8KyEhYdxDDz0U3bXOyy67LHXu3LkpWq02Z/369ZG7du0K\nGTt27GitVpsTERGRtWLFimE99bMn/ClGNMTk15hR09yOKWkGT5dCRD7o3XffNXz44YcFRqPxQEBA\nANLT06179uzJa2pqOrBmzZqKX//61yllZWWdQ225ubmakSNHthmNxu9XrlxZ9dvf/jbZ6XQCAK69\n9trUrKwsc11d3ff33ntv5bvvvhvRcd7BgwcDV6xYkfr444+X19XV5c6cObNh3rx56W1tbZ37ab//\n/vvhn332Wf7Ro0cP79ixI2zWrFkjHnnkkRO1tbXfO51OPProo9Hopw8++MDw5z//uaKhoeFAcnKy\n9fe//33C6W2efPLJittuu61qzpw5JovFcmDVqlV169evj3jrrbciduzYkVdSUnLIbDYrb7zxxp8E\n0S+++EKbl5d35PPPP8/vOPbtt99qiouLD73yyivF9957b+KDDz4Yt2vXrvyDBw8e2bZtW/j27du1\nPdX62WefhV177bWmxsbGA7NmzWq47bbbegy+p6uvrw9oa2tTVFZWHlyzZk3FypUrkzZu3Gg4cODA\n0c8+++zYU089FX/s2DF1R/sdO3aELVy40GQ0Gr9fuHChceHChelWq1U4HA7MmTMnfdy4cZbKysqD\n//rXv/JeeOGFmHfffTf09HMbGxsP3HTTTfWrVq0afsstt1S3tLQcKC4uPnTdddeZXK27A4Ms0RDz\nZdGp7xNTUrnsFhH13c0331ydnp5u02q1EgCWL19uSk5OtimVSvzqV78yJSUlWffs2aPpaB8fH9/+\nP//zP3UqlQq33nprfW1tbcCJEydUBQUF6sOHD2ueeOKJiuDgYHn55Ze3TJ8+vaHjvNdee81w8cUX\nN86fP78pMDBQ3n///dVtbW2KHTt2aLvUUpOYmGhPSUmxTZo0qSUnJ8d8wQUXtIaEhMj/+q//asjN\n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\nxhsTDQZDllarzcnIyMjcu3dv0N/+9rfIrVu3Gp5//vnYkJCQnOnTp6cDQGlpacCsWbPSwsPDsxIS\nEsY99NBDnb85r169Ov6yyy5LnTt3bopWq81Zv3595OrVq+Pnzp2b0tHm9ddf16enp4/R6XTZkydP\nHrl///6grn245557YjMyMjI1Gs0Em832kz72VCsAvPXWW/rRo0dnarXanNjY2PGrV6+O7zgvLy9P\nLYSY+PTTT0fExsaODw0NzX7ssceidu/eHZKRkZGp0+myly1bNryj/bp16yImTJgwatmyZcN1Ol12\nSkrKmK1bt+p6eu2feuqpiNTU1DGhoaHZU6ZMGZGfn6/urd6hgEGWyI+V1puhDw5AWAhHHIjIPTZv\n3hzxySef5BcUFBwqLi4OWrNmTRwAvP/++7qHHnoo4Y033iiuqqrKTUxMtC5cuDAVALZs2RL673//\nW5ufn3+4qanpwFtvvVUcHR3tuOOOO+rmzp1rvOWWW6osFsuBnTt3FjocDsyZMyd93LhxlsrKyoP/\n+te/8l544YWYd999N7Sjhh07doQtXLjQ1NjYeOCmm26q71rfwYMHA1esWJH6+OOPl9fV1eXOnDmz\nYd68eeltbW2dgfvdd981fPjhhwVGo/HA6SOyPdUKAFqt1rlhw4aSxsbGA1u3bi3YsGFD1GuvvfaT\nfb+//fZbTXFx8aFXXnml+N5770188MEH43bt2pV/8ODBI9u2bQvfvn27tkutmrS0tLa6urrcP/zh\nDxVLlixJq66uVp7+mm/cuDHsiSeeiNu8eXNRfX399+eff37LokWLzvjansVb7FMYZIn8lN3hRLnR\ngpRIDZfdIiK3+dWvflWTnp5ui4mJcfz+97+v3LJliwEANm7caFi0aFH9lClTLMHBwXLdunUnv//+\ne01eXp46ICBAms1mZW5ubpCUEhMmTGhLSkqydXf93bt3a4xGo+pvf/tbZVBQkMzMzGxfunRp7Ztv\nvtm59Ep2drZ56dKlDUqlElqtVnY9/7XXXjNcfPHFjfPnz28KDAyU999/f3VbW5tix44dnQHy5ptv\nrk5PT7edfi4AnKnWK664onny5MmtSqUS5557buvcuXONn3/++U9GUR9++OHKkJAQedVVVzUFBwc7\nFy1aZExISLCnpKTYJk2a1LJv376QjrYGg8F277331gQGBspf/epXpuTkZOvmzZt/NhfsxRdfjFq1\n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\nIiIihfR//CcwkRC3mEMAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f235a4bbd30>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# plot samples\n",
    "\n",
    "# apply custom background plotting style\n",
    "plt.style.use(plot_tools.custom_styles['gray_background'])\n",
    "plt.figure(figsize=(8, 6))\n",
    "\n",
    "# calculate histograms and scale them into the same figure\n",
    "hist_r = np.histogram(r, bins=30)\n",
    "hist_rr = np.histogram(rr, bins=30)\n",
    "plt.barh(\n",
    "    hist_r[1][:-1],\n",
    "    hist_r[0]*0.025/hist_r[0].max(),\n",
    "    height=hist_r[1][1]-hist_r[1][0],\n",
    "    left=0.35,\n",
    "    align='edge',\n",
    "    color=plot_tools.lighten('C1', 0.6),\n",
    "    label='random uniform numbers'\n",
    ")\n",
    "plt.bar(\n",
    "    hist_rr[1][:-1],\n",
    "    hist_rr[0]*0.5/hist_rr[0].max(),\n",
    "    width=hist_rr[1][1]-hist_rr[1][0],\n",
    "    bottom=-0.04,\n",
    "    align='edge',\n",
    "    color=plot_tools.lighten('C0'),\n",
    "    label='posterior samples'\n",
    ")\n",
    "# plot cumulative posterior\n",
    "plt.plot(\n",
    "    x,\n",
    "    pc,\n",
    "    color='C0',\n",
    "    label='cumulative posterior'\n",
    ")\n",
    "# turn spines off\n",
    "\n",
    "# legend\n",
    "plt.legend(\n",
    "    loc='center left',\n",
    "    bbox_to_anchor=(1.0, 0.5),\n",
    "    fontsize=12\n",
    ")\n",
    "# set limits\n",
    "plt.xlim((0.35, 0.55))\n",
    "plt.ylim((-0.04, 1.04));"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.5.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}
